﻿using _RobotInspection.DTO;
using _RobotInspection.Entities;
using _RobotInspection.Models;

namespace _RobotInspection.Interfaces
{
    /// <summary>
    /// 维修计划相关功能服务层接口类
    /// </summary>
    public interface IRepairPlanService
    {
        /// <summary>
        /// 分页查询维修计划
        /// </summary>
        /// <param name="queryDto"></param>
        /// <returns></returns>
        Task<ApiResponse<RepairPlanPagedResultDto>> GetRepairPlansPagedAsync(RepairPlanPagedDto queryDto);

        /// <summary>
        /// 按ID查询维修计划
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<ApiResponse<repair_plan>> GetRepairPlanByIdAsync(long id);

        /// <summary>
        /// 创建维修计划
        /// </summary>
        /// <param name="queryDto"></param>
        /// <returns></returns>
        Task<ApiResponse<repair_plan>> InsertRepairPlanAsync(RepairPlanDto queryDto);

        /// <summary>
        /// 修改维修计划
        /// </summary>
        /// <param name="queryDto"></param>
        /// <returns></returns>
        Task<ApiResponse<repair_plan>> UpdateRepairPlanAsync(RepairPlanUpdateDto queryDto);

        /// <summary>
        /// 删除维修计划
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<ApiResponse<repair_plan?>> DeleteRepairPlanAsyc(long id);
    }
}
